Digital synthesizers or other electronic systems generally create sound or music and can be utilized as an electronic musical instrument or electronic sound machine. Digital synthesizers are ordinarily arranged to accept input signals from a musician or operator interface and produce digital output signals representing analog signals in the audio frequency range. The interface can provide keystroke signals, mouse signals, touch pad signals, or keyboard signals representing the musician's action.
The digital output signals from the digital synthesizer can be converted to analog signals and directed to equipment such as a loudspeaker, tape recorder, mixer, or other device and reproduced in the form of sound. The digital synthesizer can be arranged to provide output signals simulating the sounds of conventional, known musical instruments. Alternatively, the synthesizer may be arranged to simulate sounds which would be emitted by a theoretical instrument having predetermined characteristics different from those of any conventional, known musical instruments.
Music and sound synthesis is a formidable technical task. Real musical instruments produce complex blends of many different frequencies imparting what is commonly referred to as "tone color" to the sound. For example, percussion sounds such as those made by a drum, cymbal or the like are an aperiodic function which cannot fully be described by any simple mathematical expression. Accordingly, the production or synthesis of digital signals representing sounds as rich and complex as those of a real instrument is a formidable digital signal, processing and sampling task. Moreover, the synthesizer must respond to the nuances of the musician's manipulation of the interface. For example, a snare drum has many different audio characteristics when played in various locations such as toward the center of the drum, toward the rim or on the rim. Additionally, the audio characteristics of the snare drum also vary with the striking force, playing technique and stylistic inflection of the musician.
A large enough sample database for each of these characteristics and combinations thereof (facilitated by huge sampling capability) is needed to adequately capture the behavior of the instrument. By having a large enough waveform database, more realistic and expressive synthesis can be achieved. Many synthesizers using waveform sampling technology are used extensively in the music and multimedia fields for their ability to create musical sounds that closely emulate the sound of a musical instrument.
Prior synthesizer systems often utilize a Musical Instrument Digital Interface (MIDI) to control digital synthesizers. The MIDI interface creates control signals or MIDI control data. The MIDI control data represents music events such as the occurrence of specific notes (e.g., Middle C, to be realized by a specific musical sound, e.g., piano, horn or drum).
Conventional synthesizer systems utilize a large solid state memory which stores the digital waveform signals representing the real sound of each note played on a particular instrument. The memory can be a static random access memory (SRAM), a dynamic Ram (DRAM) or a read only memory (ROM). When the musician actuates a key or other interface, the appropriate waveform signal is selected depending on the key activated and the intensity of the strike. The waveform signal is converted into an analog output signal. The digital waveform signal can be combined with other notes which are simultaneously being played before being converted to the analog output signal.
In this arrangement, the synthesizer in effect merely plays back digital recordings of individual sounds or notes. Each waveform signal is stored as a series of individual data words, each representing a single sample of the waveform at a particular time. To achieve acceptable fidelity, any such stored waveform signal must include thousands of samples per second in stored sound. The memory required to store each waveform signal is substantial, and the solid state memory required to store all the required waveform signals is accordingly extremely large. The solid state memory is required because its speed allows an essentially real time playback (e.g., no audio perceivable delay). The high cost per unit of sound samples storage of any type of solid state memory has somewhat prohibited the use of large amounts of digital waveform signals for accurate representation of musical instruments and all their nuances. A major limitation of current synthesizers is the lack of sufficient memory to store the entire sample of a wide range of sounds associated with musical instruments (e.g., due to cost).
To reduce the memory requirements, synthesizer systems have used techniques to more efficiently store instrument samples. These techniques generally result in lower quality sound generation. The technique of "looping" reuses samples of the sound. By replicating and reusing groups of samples, the overall memory requirement is reduced. Other techniques store samples in a compressed state in solid state memory. However, these systems require significant CPU power to implement the decompression algorithm, Also, the decompression algorithm can be lossy and suffer audio quality degradation.
Other prior art synthesizer systems have utilized hard disks or other mass storage devices from which the instrument samples are loaded into a solid state memory prior to musical tone generation or playing the instrument. However, these systems still require large amounts of solid state memory because all of the digital waveform signals for the instrument must be loaded into the solid state memory before playing.
Some synthesizer systems have utilized ROM or other types of less expensive, slower solid state memory to store the digital waveform signals. These synthesizers employ a data caching technique to move the waveform signals from the slower ROM to a high speed RAM such as a SRAM for tone generation. Nonetheless, the slower ROM and high speed RAM add significant cost to the synthesizer.
Other prior art systems store only one or several waveforms representing each musical instrument. These waveforms are then adjusted by digital signal processing techniques or other electronic techniques (e.g., non-linear distortion) to reflect frequency and amplitude changes associated with different musical characteristics as indicated by the MIDI control data. For example, the frequency and amplitude of a sample waveform representing middle C of a piano can be adjusted to synthesize a different piano note and volume. However, these types of synthesizers are unable to produce the complex blends or tone color to a high enough fidelity for the musically trained ear. In another example, some systems utilize digital filters to adjust the harmonic content of a particular note. However, these systems require significant CPU power and can suffer audio quality degradation.
Thus, there is a need for a music synthesizer which can store large amounts of musical samples without utilizing substantial amounts of expensive solid state memory. Further still, there is a need for a music synthesizer which can utilize a mass storage device and yet provide a real time production of musical tones.